home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-08-04 | 70.3 KB | 2,311 lines |
- DNS HOWTO
- Autor: Nicolai Langfeldt janl@math.uio.no
- v2.0.6, 22 Lipca 1998
- Wersja polska: Leszek Urba±ski tygrys@fidonet.org.pl
- v2.1, 4 Sierpnia 1998
-
-
- Jak zostaµ ma│oetatowym administratorem DNS. Dokument ten zosta│
- napisany w standardzie ISO-8859-2. Orygina│ tego dokumentu znajduje
- siΩ pod adresem ftp.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/.
- ______________________________________________________________________
-
- Table of Contents
-
-
- 1. Preambu│a
-
- 1.1 Legalno╢µ
- 1.2 Osoby pracuj▒ce nad tym dokumentem; pro╢ba o pomoc
- 1.3 Dedykacja
-
- 2. Wprowadzenie
-
- 3. Serwer nazw z pamiΩci▒ podrΩczn▒ (cache)
-
- 3.1 Uruchamianie named
-
- 4. (EM
-
- 4.1 Ale najpierw trochΩ czystej teorii
- 4.2 W│asna domena
- 4.3 Strefa odwrotna
-
- 5. Prawdziwa domena
-
- 5.1 /etc/named.conf (lub /var/named/named.conf)
- 5.2 /var/named/root.hints
- 5.3 /var/named/zone/127.0.0
- 5.4 /var/named/zone/land-5.com
- 5.5 /var/named/zone/206.6.177
-
- 6. Nadz≤r
-
- 7. Przej╢cie z wersji 4 na wersjΩ 8
-
- 8. FAQ
-
- 9. Jak zostaµ pe│noetatowym administratorem DNS
-
- 10. Od t│umacza
-
-
-
- ______________________________________________________________________
-
- 1. Preambu│a
-
-
- S│owa kluczowe: DNS, bind, bind-4, bind-8, named, dialup, ppp, slip,
- isdn, Internet, domain, name, hosts, resolving
-
-
-
-
-
-
- 1.1. Legalno╢µ
-
-
- (C)opyright 1995 Nicolai Langfeldt. Nie zmieniaµ bez zachowania praw
- autorskich. Dokument ten mo┐e byµ dowolnie rozpowszechniany dot▒d,
- dok▒d zostanie zachowana wiadomo╢µ o prawach autorskich.
-
-
-
-
- 1.2. Osoby pracuj▒ce nad tym dokumentem; pro╢ba o pomoc
-
-
- Chcia│bym podziΩkowaµ Arntowi Gulbrandsenowi, kt≤ry przeczyta│ szkice
- tej pracy niezliczon▒ ilo╢µ razy i dostarczy│ wielu przydatnych
- sugestii. ChcΩ te┐ podziΩkowaµ ludziom, kt≤rzy wysy│ali mi e-mailem
- sugestie i uwagi.
-
- Ten dokument nigdy nie bΩdzie uko±czony - wysy│aj mi listy o twoich
- problemach i sukcesach, mo┐e to sprawiµ, ┐e HOWTO bΩdzie
- dok│adniejsze. Pieni▒dze, komentarze i/lub pytania mo┐esz wysy│aµ do
- janl@math.uio.no. Je┐eli wy╢lesz mi e-mail i bΩdziesz ┐▒da│
- odpowiedzi, upewnij siΩ, ┐e adres zwrotny jest poprawny i dzia│aj▒cy.
- ProszΩ, przeczytaj sekcjΩ ``FAQ'' przed wys│aniem do mnie listu.
-
- Je╢i chcesz przet│umaczyµ to HOWTO, zawiadom mnie, abym m≤g│ ╢ledziµ,
- w jakich jΩzykach zosta│em opublikowany, mogΩ te┐ zawiadamiaµ ciΩ,
- kiedy HOWTO bΩdzie uaktualniane.
-
-
-
-
- 1.3. Dedykacja
-
-
- To HOWTO jest dedykujΩ dla Anne Line Norheim Langfeldt. Zreszt▒ pewnie
- nigdy tego nie przeczyta, bo nie jest tego rodzaju dziewczyn▒.
-
-
-
-
- 2. Wprowadzenie
-
-
- Czym ten dokument jest, a czym nie.
-
- Dla pocz▒tkuj▒cych: DNS to System Nazw Domen (Domain Name System).
- DNS przekszta│ca nazwy maszyn na numery IP, kt≤re s▒ ich adresami,
- mapuje z nazwy na adres i odwrotnie. To HOWTO opisuje, jak zdefiniowaµ
- takie mapowanie u┐ywaj▒c systemu Linux. Mapowanie to po prostu zwi▒zek
- jednej rzeczy z drug▒, w tym przypadku nazwy maszyny, jak
- ftp.linux.org i jej adresu IP, 199.249.150.4.
-
- DNS jest dla pocz▒tkuj▒cych (ciebie ;-)) jednym z najtrudniejszych
- zagadnie± administracji sieci. To HOWTO wyja╢nia parΩ rzeczy -
- opisuje jak postawiµ prosty serwer nazw DNS, zaczynaj▒c z serwerem
- cache i przechodz▒c do ustawiania podstawowego (primary) serwera DNS
- dla domeny. »eby uzyskaµ informacjΩ o bardziej z│o┐nonych
- konfiguracjach, zobacz sekcjΩ ``FAQ'' tego dokumentu. Je┐eli i tam
- nie znajdziesz potrzebnego opisu, bedziesz musia│ przeczytaµ Prawdziw▒
- DokumentacjΩ. Powr≤cΩ do jej sk│adnik≤w w ``ostatnim rodziale''.
-
- Zanim zaczniesz, powiniene╢ tak skonfigurowaµ swoj▒ maszynΩ, ┐eby╢
- m≤g│ telnetowaµ siΩ na ni▒ i z niej, oraz z powodzeniem przeprowadziµ
- wszystkie rodzaje po│▒cze± z sieci▒, a zw│aszcza m≤c wykonaµ telnet
- 127.0.0.1 i uzyskaµ po│▒czenie z w│asnym komputerem (przetestuj to
- teraz!). Potrzebne bΩd▒ te┐ poprawne: /etc/nsswitch.conf (lub
- /etc/host.conf), /etc/resolv.conf i /etc/hosts, jako punkt startowy,
- poniewa┐ nie bΩdΩ wyja╢nia│ tu ich funkcji. Je╢li nie masz tego
- wszystkiego ustawionego i dzia│aj▒cego, NET-3 HOWTO i/lub PPP-HOWTO
- wyja╢niaj▒ jak to ustawiµ. Przeczytaj je.
-
- Kiedy m≤wiΩ ,,twoja maszyna'', mam na my╢li komputer, na kt≤rym chcesz
- ustawiµ DNS, a nie ┐adn▒ inn▒ maszynΩ, jak▒ mo┐esz mieµ, kt≤ra jest
- zwi▒zana z twoj▒ sieci▒.
-
- PrzyjmujΩ, ┐e nie jeste╢ za ┐adnym rodzajem ╢ciany ognia (firewall),
- kt≤ra blokuje zapytania (queries) o nazwy. Je┐eli jeste╢, bΩdziesz
- potrzebowa│ specjalnej konfiguracji, przeczytaj sekcjΩ ``FAQ''.
-
- Serwerem nazw w Unixie jest program nazywany named. Jest on czΩ╢ci▒
- pakietu bind, kt≤ry jest koordynowana przez Paula Vixie z Internet
- Software Consortium. Named jest za│▒czony w wiΩkszo╢ci dystrybucji
- Linuxa i zazwyczaj zainstalowany jako /usr/sbin/named. Je┐eli masz
- ju┐ named, mo┐esz go prawdopodobnie u┐ywaµ; je╢li nie, mo┐esz wzi▒µ
- binaria z jakiego╢ Linuxowego serwera ftp, lub najnowsze i najlepsze
- ╝r≤d│a z ftp.isc.org/isc/bind/src/cur/bind-8/. To HOWTO opisuje
- wersjΩ 8 bind'a. Stara wersja tego HOWTO (o bind 4) jest dostΩpna na
- http://www.math.uio.no/~janl/DNS/. Je┐eli strona man named'a m≤wi o
- named.conf masz bind'a 8, a je┐eli o named.boot, bind 4. Je╢li masz 4
- i obchodzi ciΩ bezpiecze±stwo, naprawdΩ powiniene╢ dokonaµ
- rozszerzenia do nowego 8.
-
- DNS to baza danych szeroka jak sama sieµ. Uwa┐aj, co do niej wk│adasz.
- Je┐eli w│o┐ysz do niej ╢mieci, ty i inni wyjm▒ tak┐e ╢mieci. Je┐eli
- utrzymasz sw≤j DNS w czysto╢ci i ci▒g│o╢ci, bΩdzie ci dobrze s│u┐y│.
- Naucz siΩ go u┐ywaµ, administrowaµ i znajdowaµ b│Ωdy, a zostaniesz
- kolejnym dobrym administratorem, utrzymuj▒cym sieµ przed upadniΩciem
- na kolana z powodu prze│adowania niedobrym zarz▒dzaniem.
-
- W tym dokumencie napisa│em parΩ wyja╢nie±, kt≤re nie s▒ ca│kowicie
- prawdziwe (jednak┐e s▒ przynajmniej w po│owie prawd▒). Wszystko w
- interesie uproszczenia. Wszystko bΩdzie (prawdopodobnie ;-)) dzia│aµ,
- je┐eli uwierzysz w to, co m≤wiΩ.
-
- Podpowied╝: Zr≤b kopie zapasowe wszystkich plik≤w, kt≤re bΩdziesz
- zmieniaµ, ┐eby╢ m≤g│ wr≤ciµ do starej, dzia│aj▒cej konfiguracji,
- je┐eli nic siΩ nie powiedzie.
-
-
- 3. Serwer nazw z pamiΩci▒ podrΩczn▒ (cache)
-
-
- Pierwszy krok w konfigurowaniu DNS'u, bardzo przydatny dla
- korzystaj▒cych z modemu.
-
- Serwer z pamiΩci▒ podrΩczn▒ bΩdzie szuka│ odpowiedzi na zapytania o
- nazwy i pamiΩta│ odpowied╝, ┐eby╢ m≤g│ jej u┐yµ nastΩpnym razem, kiedy
- bΩdziesz jej potrzebowa│. To skr≤ci czas oczekiwania za drugim razem
- kiedy bΩdziesz potrzebowa│ nazwy, zw│aszcza je┐eli korzystasz z
- wolnego po│▒czenia.
-
- Po pierwsze, potrzebujesz pliku /etc/named.conf. Jest on czytany,
- kiedy named zostaje uruchamiany. Narazie powinien po prostu zawieraµ:
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- // Plik konfiguracyjny dla serwera nazw ,,caching''
-
- options {
- directory "/var/named";
-
- // Odkomentowanie tego mo┐e pom≤c, je┐eli musisz przej╢µ przez
- // ╢cianΩ ognia (firewall), a co╢ nie dzia│a:
-
- // query-source address * port 53;
- };
-
- zone "." {
- type hint;
- file "root.hints";
- };
-
- zone "0.0.127.in-addr.arpa" {
- type master;
- file "pz/127.0.0";
- };
- ______________________________________________________________________
-
-
-
- Linia directory m≤wi named'owi, gdzie szukaµ plik≤w. Wszystkie pliki w
- podkatalogach bΩd▒ odpowiada│y tej zmiennej. A wiΩc pz jest
- podkatalogiem w /var/named, czyli /var/named/pz. /var/named to
- odpowiedni katalog, zgodnie z Linux File system Standard.
-
- Plik o nazwie /var/named/root.hints jest zdefiniowany w named.conf.
- Powinien on zawieraµ nastΩpuj▒ce rekordy:
-
-
- ______________________________________________________________________
- . 6D IN NS G.ROOT-SERVERS.NET.
- . 6D IN NS J.ROOT-SERVERS.NET.
- . 6D IN NS K.ROOT-SERVERS.NET.
- . 6D IN NS L.ROOT-SERVERS.NET.
- . 6D IN NS M.ROOT-SERVERS.NET.
- . 6D IN NS A.ROOT-SERVERS.NET.
- . 6D IN NS H.ROOT-SERVERS.NET.
- . 6D IN NS B.ROOT-SERVERS.NET.
- . 6D IN NS C.ROOT-SERVERS.NET.
- . 6D IN NS D.ROOT-SERVERS.NET.
- . 6D IN NS E.ROOT-SERVERS.NET.
- . 6D IN NS I.ROOT-SERVERS.NET.
- . 6D IN NS F.ROOT-SERVERS.NET.
-
- G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4
- J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10
- K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129
- L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12
- M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33
- A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4
- H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53
- B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107
- C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12
- D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90
- E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10
- I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17
- F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241
- ______________________________________________________________________
-
-
-
- BARDZO WA»NE: W niekt≤rych wersjach tego dokumentu zawarto╢µ
- powy┐szego pliku bΩdzie posiadaµ kilka spacji albo tab przed pierwszym
- wype│nionym (non blank) znakiem. Nie powinny siΩ one znale╝µ w pliku.
- Skasuj ka┐d▒ poprzedzaj▒c▒ spacjΩ w plikach, kt≤re wycinasz i wklejasz
- z tego HOWTO.
-
- PamiΩtaj, co powiedzia│em o poprzedzaj▒cych spacjach!
-
- Plik opisuje g│≤wne serwery (root servers) na ╢wiecie. Dane zmieniaj▒
- siΩ z biegiem czasu i musz▒ byµ nadzorowane. Przeczytaj ``sekcjΩ o
- nadzorze'', ┐eby uzyskaµ informacje o uaktualnianiu serwera.
-
- NastΩpna linia w named.conf to linia primary. Wyja╢niΩ jej funkcjΩ w
- nastΩpnym rozdziale, a teraz tylko utw≤rz plik 127.0.0 w podkatalogu
- pz:
-
-
- ______________________________________________________________________
- @ IN SOA linux.bogus. hostmaster.linux.bogus. (
- 1 ; Numer seryjny
- 8H ; Od╢wie┐enie
- 2H ; Powt≤rzenie
- 1W ; Przedawnienie
- 1D) ; Minimalny TTL
- NS ns.linux.bogus.
- 1 PTR localhost.
- ______________________________________________________________________
-
-
-
- NastΩpnie, potrzebujesz pliku /etc/resolv.conf, wygl▒daj▒cego
- nastΩpuj▒co:
-
-
- ______________________________________________________________________
- search poddomena.twoja-domena.edu twoja-domena.edu
- nameserver 127.0.0.1
- ______________________________________________________________________
-
-
-
-
- Linia ,,search'' ustala, kt≤re domeny powinny byµ przeszukane dla
- jakichkolwiek nazw wΩz│≤w, z jakimi chcesz siΩ po│▒czyµ. Linia
- nameserver definiuje adres twojego serwera nazw, w tym przypadku twoj▒
- w│asn▒ maszynΩ, poniewa┐ tu pracuje named (127.0.0.1 wystarczy, nie ma
- znaczenia, czy tw≤j komputer ma inny adres). Je╢li chcesz wyznaczyµ
- kilka serwer≤w nazw, wstaw oddzieln▒ liniΩ ,,nameserver'' dla ka┐dego.
- (Zauwa┐: Named nigdy nie czyta tego pliku, robi to resolver, kt≤ry
- u┐ywa named.)
-
- »eby zilustrowaµ, co ten plik robi: Je╢li klient pr≤buje znale╝µ foo,
- wtedy jako pierwsze pr≤bowane jest foo.poddomena.twoja-domena.edu,
- potem foo.twoja-domena.edu, a w ko±cu foo. Je┐eli klient pr≤buje
- szukaµ sunsite.unc.edu, najpierw pr≤bowane jest
- sunsite.unc.edu.poddomena.twoja-domena.edu (tak, to jest g│upie, ale w
- ten spos≤b dzia│a), potem sunsite.unc.edu.twoja-domena.edu, a w ko±cu
- sunsite.unc.edu. Nie wpisuj za wielu domen w linii search, poniewa┐
- zabiera to trochΩ czasu, ┐eby je wszystkie przeszukaµ.
-
- Przyk│ad przyjmuje, ┐e nale┐ysz do domeny poddomena.twoja-domena.edu,
- tw≤j komputer jest wtedy prawdopodownie nazwany tw≤j-
- komputer.poddomena.twoja-domena.edu. Linia search nie powinna zawieraµ
- twojej TLD (Top Level Domain, Domena Najwy┐szego Poziomu, w tym
- przypadku edu). Je┐eli czΩsto │▒czysz siΩ z wΩz│ami w innej domenie,
- mo┐esz dodaµ t▒ domenΩ do linii search w ten spos≤b:
- ______________________________________________________________________
- search poddomena.twoja-domena.edu twoja-domena.edu inna-domena.com
- ______________________________________________________________________
-
-
-
- i tak dalej. Oczywi╢cie musisz wpisaµ prawdziwe nazwy domen zamiast
- podanych. Zauwa┐ brak kropek na ko±cach nazw domen.
-
- NastΩpnie, zale┐nie od twojej wersji libc, musisz poprawiaµ albo
- /etc/nsswitch.conf, albo /etc/host.conf. Je┐eli ju┐ masz
- nsswitch.conf, bΩdziemy poprawiaµ w│a╢nie ten plik, a je╢li nie,
- host.conf. (NAPRAWD╩ zalecam poprawianie host.conf we wszystkich
- systemach, w kt≤rych istnieje, np. u mnie jest i jeden i drugi -
- przyp. t│um.)
-
- /etc/nsswitch.conf
-
- Jest to d│ugi plik, kt≤ry ustala, sk▒d wzi▒µ r≤┐ne rodzaje typ≤w
- danych, z jakiego pliku lub bazy. Zazwyczaj zawiera on na g≤rze
- pomocne komentarze, kt≤re powiniene╢ teraz przeczytaµ. Potem znajd╝
- liniΩ zaczynaj▒c▒ siΩ na ,,hosts:'' - powinna zawieraµ:
-
-
- ______________________________________________________________________
- hosts: files dns
- ______________________________________________________________________
-
-
-
- Je┐eli nie ma linii zaczynaj▒cej siΩ na ,,hosts:'', wpisz powy┐sz▒.
- M≤wi, ┐e programy powinny najpierw spojrzeµ do pliku /etc/hosts, potem
- sprawdziµ DNS zgodnie z resolv.conf.
-
- /etc/host.conf
-
- Prawdopodobnie zawiera kilka linii, jedna powinna zaczynaµ siΩ na
- order i wygl▒daµ nastΩpuj▒co:
-
-
- ______________________________________________________________________
- order hosts,bind
- ______________________________________________________________________
-
-
-
- Je┐eli nie ma linii ,,order'' powiniene╢ j▒ dopisaµ. M≤wi ona
- procedurom szukaj▒cym nazw, ┐eby najpierw zajrzeµ do /etc/hosts, a
- potem spytaµ serwer nazw (kt≤ry ustali│e╢ w pliku resolv.conf jako
- 127.0.0.1).
-
- Te dwa pliki s▒ om≤wione w podrΩczniku man resolv(8) (wykonaj
- polecenie ,,man 8 resolv'') w wiΩkszo╢ci dystrybucji Linuxa. Ta
- strona man jest wed│ug mnie ca│kiem mo┐liwa do zrozumienia, a ka┐dy,
- zw│aszcza administratorzy DNS, powinni j▒ przeczytaµ. Zr≤b to teraz -
- je┐eli powiesz sobie ,,p≤╝niej'', nigdy nie bΩdziesz mia│ okazji ich
- przeczytaµ.
-
-
-
-
- 3.1. Uruchamianie named
-
-
- Po tym wszystkim nadszed│ czas, aby uruchomiµ named. Je┐eli u┐ywasz
- po│▒czenia modemowego, po│▒cz siΩ najpierw. Wpisz ,,ndc start'', bez
- opcji, i naci╢nij enter. Je┐eli to nie dzia│a, spr≤buj ,,/usr/sbin/ndc
- start''. Je╢li to te┐ nie dzia│a, zobacz sekcjΩ ``FAQ''. Teraz
- mo┐esz przetestowaµ swoj▒ konfiguracjΩ. Je┐eli obejrzysz plik z
- komunikatami sysloga (zazwyczaj /var/adm/messages, inny katalog w
- kt≤rym mo┐na ich szukaµ to /var/log, inn▒ nazw▒ pliku jest syslog)
- kiedy uruchamiasz named (wykonaj tail -f /var/log/messages),
- powiniene╢ ujrzeµ co╢ takiego:
-
- (linie ko±cz▒ce siΩ na \ s▒ kontynuowane w nastΩpnej linii)
-
-
-
-
- Feb 15 01:26:17 roke named[6091]: starting. named 8.1.1 Sat Feb 14 \
- 00:18:20 MET 1998 ^Ijanl@roke.uio.no:/var/tmp/bind-8.1.1/src/bin/named
- Feb 15 01:26:17 roke named[6091]: cache zone "" (IN) loaded (serial 0)
- Feb 15 01:26:17 roke named[6091]: master zone "0.0.127.in-addr.arpa" \
- (IN) loaded (serial 1)
- Feb 15 01:26:17 roke named[6091]: listening [127.0.0.1].53 (lo)
- Feb 15 01:26:17 roke named[6091]: listening [129.240.230.92].53 (ippp0)
- Feb 15 01:26:17 roke named[6091]: Forwarding source address is [0.0.0.0].1040
- Feb 15 01:26:17 roke named[6092]: Ready to answer queries.
-
-
-
-
- Je┐eli pojawi▒ siΩ jakie╢ komunikaty o b│Ωdach, pope│ni│e╢ jaki╢.
- Named powie, w kt≤rym pliku jest b│▒d (mam nadziejΩ, ┐e jest to
- named.conf albo root.hints :-)). Zabij named i sprawd╝ plik. (jest
- te┐ bardziej ,,humanitarny'' :-) od zabijania spos≤b - napisz ,,ndc
- stop'', odczekaj d│u┐sz▒ chwilΩ i nameserver zostanie wy│▒czony -
- przyp. t│um.)
-
- Teraz uruchom nslookup, ┐eby sprawdziµ twoje rob≤tki rΩczne.
-
-
-
- $ nslookup
- Default Server: localhost
- Address: 127.0.0.1
-
- >
-
-
-
-
- Je┐eli otrzyma│e╢ takie co╢, to znaczy, ┐e dzia│a. Miejmy nadziejΩ.
- Je╢li co innego, sprawd╝ wszystko od pocz▒tku. Za ka┐dym razem, kiedy
- zmienisz plik named.conf musisz ponownie uruchomiµ named komend▒ ndc
- restart.
-
- Teraz mo┐esz wprowadziµ zapytanie. Spr≤buj poszukaµ jakiego╢ komputera
- blisko ciebie. pat.uio.no jest blisko mnie, na Uniwersytecie w Oslo:
-
-
-
- > pat.uio.no
- Server: localhost
- Address: 127.0.0.1
-
- Name: pat.uio.no
- Address: 129.240.130.16
-
-
-
-
- Nslookup poprosi│ twojego named'a o poszukanie maszyny pat.uio.no.
- Po│▒czy│ siΩ wtedy z jednym z serwer≤w nazw w twoim pliku root.hints i
- zapyta│ stamt▒d o drogΩ. Mo┐e to zaj▒µ troszeczkΩ czasu, zanim
- otrzymasz wynik, poniewa┐ szuka we wszystkich domenach, kt≤re
- wymieni│e╢ w /etc/resolv.conf.
-
- Je┐eli zapytasz znowu o to samo, otrzymasz co╢ takiego:
-
-
-
- > pat.uio.no
- Server: localhost
- Address: 127.0.0.1
-
- Non-authoritative answer:
- Name: pat.uio.no
- Address: 129.240.2.50
-
-
-
-
- Zwr≤µ uwagΩ na liniΩ ,,Non-authoritative answer:'', kt≤ra pojawi│a siΩ
- tym razem. Znaczy to, ┐e named nie szuka│ nazwy w sieci, tylko
- popatrzy│ w swojej pamiΩci podrΩcznej i tam j▒ znalaz│. Ale informacja
- z pamiΩci podrΩcznej mo┐e byµ przedawniona. Zostajesz wiΩc
- poinformowany o tym (bardzo niewielkim) niebezpiecze±stwie, poprzez
- komunikat ,,Non-authorative answer:''. Kiedy nslookup m≤wi to za
- drugim razem, kiedy pytasz o komputer, jest to pewny znak, ┐e named
- zapamiΩtuje informacje i dzia│a. Mo┐esz wyj╢µ z nslookup wydaj▒c
- komendΩ exit.
-
- Teraz ju┐ wiesz, jak postawiµ przyspieszaj▒cy (caching) named. Wypij
- piwo, mleko, lub cokolwiek innego, ┐eby to uczciµ.
-
-
- 4. Prosta domena
-
-
- Jak skonfigurowaµ w│asn▒ domenΩ.
-
-
-
-
- 4.1. Ale najpierw trochΩ czystej teorii
-
-
- Zanim naprawdΩ zaczniemy ten rozdzia│, zamierzam podaµ ci trochΩ
- teorii o dzia│aniu DNSu. A ty to przeczytasz, poniewa┐ jest to
- przydatne. Je╢li nie chcesz, powiniene╢ przynajmniej przej╢µ przez to
- bardzo szybko. Przesta± przegl▒daµ, kiedy dojdziesz do opisu,
- m≤wi▒cego co powiniene╢ wstawiµ do pliku named.conf.
-
- DNS to system hierarchiczny. Najwy┐sza pozycja to ,,.'', nazywa siΩ
- ,,root''. Pod . istnieje kilka Domen Najwy┐szego Poziomu (Top Level
- Doamins, TLD), najpopularniejsze to ORG, COM, EDU i NET, ale jest
- jeszcze wiele innych. (np. MIL, GOV, ART, NOM, PRIV - przyp. t│um.)
-
- Kiedy poszukiwany jest komputer, zapytanie jest przeprowadzane
- rekursywnie, zgodnie z hierarchi▒, pocz▒wszy od g≤ry. Je┐eli chcesz
- znale╝µ adres komputera prep.ai.mit.edu, tw≤j serwer nazw musi znale╝µ
- serwer obs│uguj▒cy domenΩ edu. Pyta serwer . (zna ju┐ serwery . - po
- to jest plik root.hints), serwer . zwraca listΩ serwer≤w edu:
-
-
-
-
- $ nslookup
- Default Server: localhost
- Address: 127.0.0.1
-
-
-
-
- Zacznij pytaµ server root:
-
-
-
- > server c.root-servers.net.
- Default Server: c.root-servers.net
- Address: 192.33.4.12
-
-
-
-
- Ustaw typ zapytania na NS (rekordy serwer≤w nazw):
-
-
-
- %gt; set q=ns
-
-
-
-
- Spytaj o edu:
-
-
-
- > edu.
-
-
-
-
- Ko±cowa kropka jest wymagana, m≤wi serwerowi, ┐e edu jest pod . (to
- zawΩ┐a obszar poszukiwa±).
-
-
-
- edu nameserver = A.ROOT-SERVERS.NET
- edu nameserver = H.ROOT-SERVERS.NET
- edu nameserver = B.ROOT-SERVERS.NET
- edu nameserver = C.ROOT-SERVERS.NET
- edu nameserver = D.ROOT-SERVERS.NET
- edu nameserver = E.ROOT-SERVERS.NET
- edu nameserver = I.ROOT-SERVERS.NET
- edu nameserver = F.ROOT-SERVERS.NET
- edu nameserver = G.ROOT-SERVERS.NET
- A.ROOT-SERVERS.NET internet address = 198.41.0.4
- H.ROOT-SERVERS.NET internet address = 128.63.2.53
- B.ROOT-SERVERS.NET internet address = 128.9.0.107
- C.ROOT-SERVERS.NET internet address = 192.33.4.12
- D.ROOT-SERVERS.NET internet address = 128.8.10.90
- E.ROOT-SERVERS.NET internet address = 192.203.230.10
- I.ROOT-SERVERS.NET internet address = 192.36.148.17
- F.ROOT-SERVERS.NET internet address = 192.5.5.241
- G.ROOT-SERVERS.NET internet address = 192.112.36.4
-
-
-
-
- Wynik m≤wi nam, ┐e *.root-servers.net podaje edu., mo┐emy wiΩc dalej
- pytaµ c. Teraz chcemy wiedzieµ, kto obs│uguje nastΩpny poziom nazwy
- domeny: mit.edu.:
- > mit.edu.
- Server: c.root-servers.net
- Address: 192.33.4.12
-
- Non-authoritative answer:
- mit.edu nameserver = W20NS.mit.edu
- mit.edu nameserver = BITSY.mit.edu
- mit.edu nameserver = STRAWB.mit.edu
-
- Authoritative answers can be found from:
- W20NS.mit.edu internet address = 18.70.0.160
- BITSY.mit.edu internet address = 18.72.0.3
- STRAWB.mit.edu internet address = 18.71.0.151
-
-
-
-
- STRAWB, W20NS i BITSY obs│uguj▒ mit, wybierz jeden i pytaj o
- ai.mit.edu:
-
-
-
- > server W20NS.mit.edu.
-
-
-
-
- Serwery nazw nie rozr≤┐niaj▒ wielko╢ci liter, ale u┐ywam myszki do
- wycinania i wklejania, wiΩc kopiuje wynik prosto z ekranu.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Server: W20NS.mit.edu
- Address: 18.70.0.160
-
- > ai.mit.edu.
- Server: W20NS.mit.edu
- Address: 18.70.0.160
-
- Non-authoritative answer:
- ai.mit.edu nameserver = ALPHA-BITS.AI.MIT.EDU
- ai.mit.edu nameserver = GRAPE-NUTS.AI.MIT.EDU
- ai.mit.edu nameserver = TRIX.AI.MIT.EDU
- ai.mit.edu nameserver = MUESLI.AI.MIT.EDU
- ai.mit.edu nameserver = LIFE.AI.MIT.EDU
- ai.mit.edu nameserver = BEET-CHEX.AI.MIT.EDU
- ai.mit.edu nameserver = MINI-WHEATS.AI.MIT.EDU
- ai.mit.edu nameserver = COUNT-CHOCULA.AI.MIT.EDU
- ai.mit.edu nameserver = MINTAKA.LCS.MIT.EDU
-
- Authoritative answers can be found from:
- AI.MIT.EDU nameserver = ALPHA-BITS.AI.MIT.EDU
- AI.MIT.EDU nameserver = GRAPE-NUTS.AI.MIT.EDU
- AI.MIT.EDU nameserver = TRIX.AI.MIT.EDU
- AI.MIT.EDU nameserver = MUESLI.AI.MIT.EDU
- AI.MIT.EDU nameserver = LIFE.AI.MIT.EDU
- AI.MIT.EDU nameserver = BEET-CHEX.AI.MIT.EDU
- AI.MIT.EDU nameserver = MINI-WHEATS.AI.MIT.EDU
- AI.MIT.EDU nameserver = COUNT-CHOCULA.AI.MIT.EDU
- AI.MIT.EDU nameserver = MINTAKA.LCS.MIT.EDU
- ALPHA-BITS.AI.MIT.EDU internet address = 128.52.32.5
- GRAPE-NUTS.AI.MIT.EDU internet address = 128.52.36.4
- TRIX.AI.MIT.EDU internet address = 128.52.37.6
- MUESLI.AI.MIT.EDU internet address = 128.52.39.7
- LIFE.AI.MIT.EDU internet address = 128.52.32.80
- BEET-CHEX.AI.MIT.EDU internet address = 128.52.32.22
- MINI-WHEATS.AI.MIT.EDU internet address = 128.52.54.11
- COUNT-CHOCULA.AI.MIT.EDU internet address = 128.52.38.22
- MINTAKA.LCS.MIT.EDU internet address = 18.26.0.36
-
-
-
-
- A wiΩc muesli.ai mit.edu jest serwerem nazw dla ai.mit.edu:
-
-
-
- > server MUESLI.AI.MIT.EDU
- Default Server: MUESLI.AI.MIT.EDU
- Address: 128.52.39.7
-
-
-
-
- Teraz zmieniamy typ zapytania - znale╝li╢my serwer nazw, wiΩc teraz
- zapytajmy go o wszystko, co wie o prep.ai.mit.edu.
-
-
-
-
-
-
-
-
-
-
-
-
- > set q=any
- > prep.ai.mit.edu.
- Server: MUESLI.AI.MIT.EDU
- Address: 128.52.39.7
-
- prep.ai.mit.edu CPU = dec/decstation-5000.25 OS = unix
- prep.ai.mit.edu
- inet address = 18.159.0.42, protocol = tcp
- ftp telnet smtp finger
- prep.ai.mit.edu preference = 1, mail exchanger = gnu-life.ai.mit.edu
- prep.ai.mit.edu internet address = 18.159.0.42
- ai.mit.edu nameserver = beet-chex.ai.mit.edu
- ai.mit.edu nameserver = alpha-bits.ai.mit.edu
- ai.mit.edu nameserver = mini-wheats.ai.mit.edu
- ai.mit.edu nameserver = trix.ai.mit.edu
- ai.mit.edu nameserver = muesli.ai.mit.edu
- ai.mit.edu nameserver = count-chocula.ai.mit.edu
- ai.mit.edu nameserver = mintaka.lcs.mit.edu
- ai.mit.edu nameserver = life.ai.mit.edu
- gnu-life.ai.mit.edu internet address = 128.52.32.60
- beet-chex.ai.mit.edu internet address = 128.52.32.22
- alpha-bits.ai.mit.edu internet address = 128.52.32.5
- mini-wheats.ai.mit.edu internet address = 128.52.54.11
- trix.ai.mit.edu internet address = 128.52.37.6
- muesli.ai.mit.edu internet address = 128.52.39.7
- count-chocula.ai.mit.edu internet address = 128.52.38.22
- mintaka.lcs.mit.edu internet address = 18.26.0.36
- life.ai.mit.edu internet address = 128.52.32.80
-
-
-
-
- Zaczynaj▒c od ., znale╝li╢my sukcesywne serwery nazw dla nastΩpnych
- poziom≤w w nazwie domeny. Je┐eli u┐ywa│by╢ w│asnego serwera DNS
- zamiast wszystkich innych, tw≤j named zapisa│by wszystkie informacje w
- czasie poszukiwa±, nie musia│by╢ wiΩc znowu ich pytaµ przez jaki╢
- czas.
-
- O wiele mniej m≤wi siΩ o, tak samo wa┐nej domenie in-addr.arpa. Jest
- ona te┐ podzielona jak normalne domeny. in-addr.arpa pozwala
- otrzymywaµ nazwy maszyn kiedy posiadamy ich adresy. Wa┐ne: numery IP
- w domenie in-addr.arpa s▒ pisane w odwrotnej kolejno╢ci. Je┐eli adres
- maszyny to 192.128.52.43, named poszukuje tak, jak dla przyk│adu z
- prep.ai.mit.edu: znale╝µ serwery arpa.. Znale╝µ seerwery in-
- addr.arpa., znale╝µ serwery 192.in-addr.arpa., znale╝µ serwery
- 128.192.in-addr.arpa., znale╝µ serwery 52.128.192.in-addr.arpa..
- Znale╝µ potrzebne rekordy dla 43.52.128.192.in-addr.arpa.. Sprytne,
- no nie? (Powiedz ,,tak''.) Odwracanie numer≤w IP mo┐e sprawiaµ k│opoty
- przez pierwsze dwa lata.
-
- W│a╢nie sk│ama│em. DNS nie dzia│a dok│adnie tak jak przedstawi│em.
- Ale by│em wystarczaj▒co blisko.
-
-
-
-
- 4.2. W│asna domena
-
-
- Teraz zdefiniujemy nasz▒ w│asn▒ domenΩ. Nazwijmy j▒ linux.bogus
- (,,bogus'', to po angielsku co╢ fa│szywego, bzdurnego - przyp. t│um.)
- i zdefiniujemy w niej maszyny. U┐ywam ca│kowicie bzdurnej (bogus)
- nazwy domeny, ┐eby upeniµ siΩ, ┐e nie przeszkadzamy nikomu Gdzie╢ Tam.
-
- Jeszcze jedna rzecz zanim zaczniemy: Nie wszystkie znaki mog▒ wchodziµ
- w sk│ad nazw komputer≤w. Jeste╢my ograniczeni do znak≤w angielskiego
- alfabetu, tzn. a-z, numer≤w 0-9 i znaku ,,-'' (│▒cznika). Trzymajmy
- siΩ tych znak≤w. Wielkie i ma│e litery nie s▒ rozr≤┐niane przez DNS, a
- wiΩc pat.uio.no jest identyczne z Pat.UiO.No.
-
- Ju┐ zaczeli╢my czΩ╢µ z lini▒ 0.0.127 w pliku named.conf:
-
-
- ______________________________________________________________________
- zone "0.0.127.in-addr.arpa" {
- type master;
- file "pz/127.0.0";
- };
- ______________________________________________________________________
-
-
-
- Zauwa┐ brak kropki na ko±cu nazw domen w tym pliku - definiujemy
- strefΩ 0.0.127.in-addr.arpa, ┐e jeste╢my g│≤wnym jej serwerem i jest
- zapisana w pliku pz/127.0.0. Mamy ju┐ ten plik, zawiera on:
-
-
- ______________________________________________________________________
- @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
- 1 ; Serial
- 8H ; Refresh
- 2H ; Retry
- 1W ; Expire
- 1D) ; Minimum TTL
- NS ns.linux.bogus.
- 1 PTR localhost.
- ______________________________________________________________________
-
-
-
- Zauwa┐ znak ,,.'' na ko±cu wszystkich pe│nych nazw domen w tym pliku,
- kontrastuje to z plikiem named.conf powy┐ej. Niekt≤rzy ludzie lubi▒
- rozpocz▒µ ka┐d▒ strefΩ z dyrektyw▒ $ORIGIN, ale to ju┐ ekstrawagancja.
- Origin (pochodzenie - gdzie znajduje siΩ w hierarchii DNS), pliku
- strefy jest zdefiniowany w linii strefy w pliku named.conf, w tym
- przypadku 0.0.127.in-addr.arpa.
-
- Ten ,,plik strefy'' zawiera 3 ,,rekordy zasob≤w'' (resource records,
- RR): RR SOA, RR NS i RR PTR. SOA to skr≤t od Start of Authority. Znak
- ,,@'' jest specjaln▒ notacj▒ znacz▒c▒ pochodzenie (origin), a je┐eli
- kolumna domeny dla tego pliku to ,,0.0.127.in-addr.arpa'', pierwsza
- linia tak naprawdΩ znaczy
-
-
-
- 0.0.127.in-addr.arpa. IN SOA ...
-
-
-
-
- NS to RR Name Server - rekord serwera nazw. Nie jest potrzebne ,,@''
- na ko±cu tej linii, poniewa┐ ostatnia linia zaczΩ│a sie na ,,@''.
- OszczΩdza to trochΩ pisania. A wiΩc linia NS tak naprawdΩ znaczy
-
-
-
- 0.0.127.in-addr.arpa. IN NS ns.linux.bogus
-
-
-
-
-
- M≤wi DNS'owi, kt≤ra maszyna jest serwerem nazw domeny 0.0.127.in-
- addr.arpa - jest to ns.linux.bogus. ,,ns'' to zazwyczaj stosowana
- nazwa serwera nazw, ale skoro serwery www s▒ nazywane www.co╢tam,
- nazw▒ mo┐e byµ cokolwiek.
-
- I w ko±cu rekord PTR. M≤wi, ┐e komputer o adresie 1 w podsieci
- 0.0.127.in-addr.arpa, np. 127.0.0.1, nazywa siΩ localhost.
-
- Rekord SOA jest pocz▒tkiem wszystkich plik≤w stref. W ka┐dym pliku
- musi byµ dok│adnie jeden, jako pierwszy rekord. Opisuje strefΩ, z
- kt≤rej pochodzi (z maszyny nazwanej ns.linux.bogus), osobΩ, kt≤ra jest
- za ni▒ odpowiedzialna (hostmaster@linux.bogus), wersjΩ pliku strefy
- (numer seryjny: 1) i inne rzeczy maj▒ce zwi▒zek z zapamiΩtywaniem
- (caching) i drugorzΩdnymi (secondary) serwerami DNS. Dla reszty p≤l:
- od╢wie┐enia, powt≤rzenia, przedawnienia i minimalnego TTL u┐ycie
- warto╢ci podanych w tym HOWTO powinno byµ bezpieczne. Teraz uruchom
- ponownie named'a (komend▒ ndc restart) i u┐yj nslookup, ┐eby
- sprawdziµ, co zrobi│e╢:
-
-
-
- $ nslookup
-
- Default Server: localhost
- Address: 127.0.0.1
-
- > 127.0.0.1
- Server: localhost
- Address: 127.0.0.1
-
- Name: localhost
- Address: 127.0.0.1
-
-
-
-
- a wiΩc udaje mu siΩ otrzymaµ localhost ze 127.0.0.1, to dobrze. Teraz
- nasze g│≤wne zadanie, domena linux.bogus. Wstaw now▒ sekcjΩ ,,zone'' w
- pliku named.conf:
-
-
- ______________________________________________________________________
- zone "linux.bogus" {
- notify no;
- type master;
- file "pz/linux.bogus";
- };
- ______________________________________________________________________
-
-
-
- Zauwa┐ dalszy brak ko±cz▒cej kropki w nazwie domeny w pliku
- named.conf.
-
- W pliku strefy linux.bogus umie╢cimy pewne ca│kowicie bzdurne (bogus)
- dane:
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- ;
- ; Plik strefy dla linux.bogus
- ;
- ; Pe│ny plik strefy
- ;
- @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
- 199802151 ; numer seryjny, dzisiejsza data i numer zmiany
- 8H ; od╢wie┐anie, w sekundach
- 2H ; powt≤rzenie, w sekundach
- 1W ; przedawnienie, w sekundach
- 1D ) ; minimum, w sekundach
- ;
- NS ns ; Adres Internetowy serwera nazw
- MX 10 mail.linux.bogus ; Podstawowy serwer poczty
- MX 20 mail.friend.bogus. ; DrugorzΩdny serwer poczty
- ;
- localhost A 127.0.0.1
- ns A 192.168.196.2
- mail A 192.168.196.4
- ______________________________________________________________________
-
-
-
- Nale┐y zwr≤ciµ uwagΩ na dwie rzeczy w rekordzie SOA. ns.linux.bogus
- musi byµ prawdziw▒ maszyna z rekordem A. Nie jest dozwolone wpisaanie
- rekordu CNAME dla maszyny w rekordzie SOA. Jej nazw▒ nie musi byµ
- ,,ns'', mo┐e byµ jak▒kolwiek dozwolon▒ nazw▒ komputera. Po drugie,
- hostmaster.linux.bogus powinien byµ odczytany jako
- hostmaster@linux.bogus, a powinien byµ to alias pocztowy lub oddzielna
- skrzynka, gdzie osoba(y) nadzoruj▒ce DNS powinny czΩsto czytaµ pocztΩ.
- Jakikolwiek list w sprawie domeny bΩdzie wys│any na adres podany w tej
- linii. Nazw▒ nie musi byµ ,,hostmaster'', mo┐e to byµ jakikolwiek
- dozwolony adres e-mail, ale adres ,,hostmaster'' bΩdzie r≤wnie┐
- dzia│a│.
-
- Jest jeden nowy typ RR w tym pliku, MX czyli Mail eXchanger. M≤wi
- systemom pocztowym gdzie wysy│aµ pocztΩ zaadresowan▒ do
- kto╢tam@linux.bogus, odpowiednio do mail.linux.bogus lub
- mail.friend.bogus. Liczba przed ka┐d▒ nazw▒ maszyny oznacza priorytet
- MX'≤w. RR z najmniejsz▒ liczb▒ (10) jest tym, do kt≤rego poczta
- powinna byµ wysy│ana najpierw. Je┐eli to siΩ nie uda, mo┐e byµ wys│ana
- do serwera z wy┐sz▒ liczb▒, drugorzΩdnego serwera poczty, np.
- mail.friend.bogus, kt≤ry ma tu priorytet 20.
-
- Uruchom ponownie named, u┐ywaj▒c komendy ndc restart. Sprawd╝ wynik z
- nslookup:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $ nslookup
- > set q=any
- > linux.bogus
- Server: localhost
- Address: 127.0.0.1
-
- linux.bogus
- origin = ns.linux.bogus
- mail addr = hostmaster.linux.bogus
- serial = 199802151
- refresh = 28800 (8 hours)
- retry = 7200 (2 hours)
- expire = 604800 (7 days)
- minimum ttl = 86400 (1 day)
- linux.bogus nameserver = ns.linux.bogus
- linux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.bogus
- linux.bogus preference = 20, mail exchanger = mail.friend.bogus
- linux.bogus nameserver = ns.linux.bogus
- ns.linux.bogus internet address = 192.168.196.2
- mail.linux.bogus internet address = 192.168.196.4
-
-
-
-
- Przy dok│adnym sprawdzaniu, odkryjesz b│▒d. Linia
-
-
-
- linux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.bogus
-
-
-
-
- jest niepoprawna. Powinno byµ
-
-
-
- linux.bogus preference = 10, mail exchanger = mail.linux.bogus
-
-
-
-
- Specjalnie pope│ni│em b│▒d, ┐eby╢ m≤g│ siΩ z niego uczyµ :-) Patrz▒c
- na plik strefy zobaczymy, ┐e w linii
-
-
-
- MX 10 mail.linux.bogus ; Podstawowy serwer poczty
-
-
-
-
- brakuje kropki. Mo┐na te┐ powiedzieµ, ┐e ma o jeden cz│on
- ,,linux.bogus'' za du┐o. Je┐eli nazwa komputera nie ko±czy siΩ kropk▒
- w pliku strefy, pochodzenie (origin) zostaje dodane do niej, powoduj▒c
- podw≤jny linux.bogus.linux.bogus. WiΩc piszemy albo
-
-
- ______________________________________________________________________
- MX 10 mail.linux.bogus. ; Podstawowy serwer poczty
- ______________________________________________________________________
-
-
-
- albo
-
- ______________________________________________________________________
- MX 10 mail ; Podstawowy serwer poczty
- ______________________________________________________________________
-
-
-
- Oba s▒ poprawne. WolΩ ostatni▒ formΩ, mniej pisania. S▒ znani
- u┐ytkownicy bind'a kt≤rzy nie zgadzaj▒ siΩ z tym, s▒ te┐ tacy, kt≤rzy
- zgadzaj▒ siΩ z t▒ regu│▒. W pliku strefy domena powinna b▒d╝ to byµ
- ca│kowita i zako±czona kropk▒, b▒d╝ to nie powinna byµ wog≤le
- za│▒czona, w tym przypadku zawiera domy╢lne pochodzenie (origin).
-
- MuszΩ zaznaczyµ, ┐e w pliku named.conf nie powinno byµ kropek po
- nazwach domen. Nie masz pojΩcia, jak czΩsto ludzie g│upieli i klΩli na
- czym ╢wiat stoi z powodu znaku ,,.''.
-
- A wiΩc po wyja╢nieniu mojej uwagi, mamy nowy plik strefy, zawieraj▒cy
- trochΩ dodatkowych informacji:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- ;
- ; Plik strefy dla linux.bogus
- ;
- ; Pe│ny plik strefy
- ;
- @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
- 199802151 ; numer seryjny, dzisiejsza data + numer zmiany
- 8H ; od╢wie┐anie, w sekundach
- 2H ; powt≤rzenie, w sekundach
- 1W ; przedawnienie, w sekundach
- 1D ) ; minimum, w sekundach
- ;
- TXT "Linux.Bogus, twoi konsultanci DNS"
- NS ns ; Adresy Internetowe serwer≤w nazw
- NS ns.friend.bogus.
- MX 10 mail ; Podstawowy MX
- MX 20 mail.friend.bogus. ; DrugorzΩdny MX
-
- localhost A 127.0.0.1
-
- gw A 192.168.196.1
- HINFO "Cisco" "IOS"
- TXT "Router"
-
- ns A 192.168.196.2
- MX 10 mail
- MX 20 mail.friend.bogus.
- HINFO "Pentium" "Linux 2.0"
- www CNAME ns
-
- donald A 192.168.196.3
- MX 10 mail
- MX 20 mail.friend.bogus.
- HINFO "i486" "Linux 2.0"
- TXT "DEK"
-
- mail A 192.168.196.4
- MX 10 mail
- MX 20 mail.friend.bogus.
- HINFO "386sx" "Linux 1.2"
-
- ftp A 192.168.196.5
- MX 10 mail
- MX 20 mail.friend.bogus.
- HINFO "P6" "Linux 2.1.86"
- ______________________________________________________________________
-
-
-
- Jest tu kilka nowych RR'≤w: HINFO (Host INFOrmation) ma dwie czΩ╢ci,
- dobrym zwyczajem jest branie ka┐dej w cudzys│owy. Pierwsza czΩ╢µ
- okre╢la nazwΩ sprzΩtow▒ lub procesor komputera, a druga oprogramowanie
- lub system operacyjny. Maszyna nazwana ,,ns'' ma procesor Pentium i
- Linuxa 2.0. CNAME (Canonical NAME) jest sposobem nadawania ka┐dej
- maszynie kilku nazw. Www jest wiΩc aliasem ns.
-
- U┐ywanie rekord≤w CNAME jest trochΩ kontrowesyjne. Ale bezpiecznie
- jest przestrzegaµ zasady, ┐e rekordy MX, CNAME lub SOA nigdy nie
- powinny odnosiµ siΩ do rekordu CNAME, powinny odnosiµ siΩ do czego╢ z
- rekordem A, wiΩc ╝le jest
-
-
-
-
-
- ______________________________________________________________________
- foobar CNAME www ; NIE!
- ______________________________________________________________________
-
-
-
- ale poprawnie
-
-
- ______________________________________________________________________
- foobar CNAME ns ; Tak!
- ______________________________________________________________________
-
-
-
- Jest te┐ bezpiecznie przyj▒µ, ┐e CNAME nie jest dozwolon▒ nazw▒
- komputera dla adresu e-mail: webmaster@www.linux.bogus jest
- niedozwolonym adresem, je┐eli przyj▒µ powy┐sze ustawienia. Mo┐esz siΩ
- spodziewaµ, ┐e wielu admin≤w Gdzie╢ Tam bΩdzie wymaga│o tej zasady,
- nawet je╢li to dzia│a u ciebie. Sposobem unikniΩcia tego jest u┐ywanie
- rekord≤w A (i mo┐e innych, takich jak MX) zamiast CNAME:
-
-
- ______________________________________________________________________
- www A 192.168.196.2
- ______________________________________________________________________
-
-
-
- Kilku ,,czarodziej≤w'' bind'a radzi, aby nie u┐ywaµ CNAME. Zastan≤w
- siΩ wiΩc nad tym bardzo powa┐nie.
-
- Ale jak widzisz, to HOWTO i wiele serwer≤w nie przestrzega tej zasady.
-
- Za│aduj now▒ bazΩ danych komend▒ ndc reload, sprawi to, ┐e named
- przeczyta ponownie swoje pliki.
-
-
-
- $ nslookup
- Default Server: localhost
- Address: 127.0.0.1
-
- > ls -d linux.bogus
-
-
-
-
- Znaczy to, ┐e wszystkie rekordy powinny byµ wymienione. Wy╢wietli:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [localhost]
- $ORIGIN linux.bogus.
- @ 1D IN SOA ns hostmaster (
- 199802151 ; numer seryjny
- 8H ; od╢wie┐anie
- 2H ; powt≤rzenie
- 1W ; przedawnienie
- 1D ) ; minimum
-
- 1D IN NS ns
- 1D IN NS ns.friend.bogus.
- 1D IN TXT "Linux.Bogus, twoi konsultanci DNS"
- 1D IN MX 10 mail
- 1D IN MX 20 mail.friend.bogus.
- gw 1D IN A 192.168.196.1
- 1D IN HINFO "Cisco" "IOS"
- 1D IN TXT "Router"
- mail 1D IN A 192.168.196.4
- 1D IN MX 10 mail
- 1D IN MX 20 mail.friend.bogus.
- 1D IN HINFO "386sx" "Linux 1.0.9"
- localhost 1D IN A 127.0.0.1
- www 1D IN CNAME ns
- donald 1D IN A 192.168.196.3
- 1D IN MX 10 mail
- 1D IN MX 20 mail.friend.bogus.
- 1D IN HINFO "i486" "Linux 1.2"
- 1D IN TXT "DEK"
- ftp 1D IN A 192.168.196.5
- 1D IN MX 10 mail
- 1D IN MX 20 mail.friend.bogus.
- 1D IN HINFO "P6" "Linux 1.3.59"
- ns 1D IN A 192.168.196.2
- 1D IN MX 10 mail
- 1D IN MX 20 mail.friend.bogus.
- 1D IN HINFO "Pentium" "Linux 1.2"
- @ 1D IN SOA ns hostmaster (
- 199802151 ; numer seryjny
- 8H ; od╢wie┐anie
- 2H ; powt≤rzenie
- 1W ; przedawnienie
- 1D ) ; minimum
-
-
-
-
- To jest w porz▒dku. Jak widzisz, wygl▒da prawie jak plik strefy.
- Sprawd╝my co powie o samym www:
-
-
-
- > set q=any
- > www.linux.bogus.
- Server: localhost
- Address: 127.0.0.1
-
- www.linux.bogus canonical name = ns.linux.bogus
- linux.bogus nameserver = ns.linux.bogus
- linux.bogus nameserver = ns.friend.bogus
- ns.linux.bogus internet address = 192.168.196.2
-
-
-
-
- Inaczej m≤wi▒c, prawdziwa nazwa www.linux.bogus to ns.linux.bogus.
- Daje ci to te┐ trochΩ informacji, kt≤re ma o ns, wystarczj▒co du┐o,
- ┐eby siΩ z nim po│▒czyµ, je┐eli by│by╢ programem.
-
- Jeste╢my w po│owie drogi.
-
-
-
-
- 4.3. Strefa odwrotna
-
-
- Teraz programy mog▒ konwertowaµ nazwy w linux.bogus na adresy, z
- kt≤rymi mog▒ siΩ po│▒czyµ. Ale potrzebna jest te┐ strefa odwrotna,
- kt≤ra pozwala DNS'owi przekszta│caµ adresy na nazwy (FTP, IRC, WWW i
- inne), ┐eby zdecydowaµ, czy chc▒ z tob▒ rozmawiaµ, czy nie, a je┐eli
- tak, mo┐e nawet zdecyduj▒ jaki priorytet powinien byµ ci nadany.
- Strefa odwrotna jest wymagana dla pe│nego dostΩpu do wszystkich us│ug
- Internetu.
-
- Wstaw nastΩpuj▒ce linie w named.conf:
-
-
- ______________________________________________________________________
- zone "196.168.192.in-addr.arpa" {
- notify no;
- type master;
- file "pz/192.168.196";
- };
- ______________________________________________________________________
-
-
-
- Tak samo jak z 0.0.127.in-addr.arpa, zawarto╢µ tak┐e jest podobna:
-
-
- ______________________________________________________________________
- @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
- 199802151 ; Numer seryjny, data + numer
- 8H ; od╢wie┐anie
- 2H ; powtarzanie
- 1W ; przedawnienie
- 1D) ; minimalny TTL
- NS ns.linux.bogus.
-
- 1 PTR gw.linux.bogus.
- 2 PTR ns.linux.bogus.
- 3 PTR donald.linux.bogus.
- 4 PTR mail.linux.bogus.
- 5 PTR donald.linux.bogus.
- ______________________________________________________________________
-
-
-
- Teraz uruchom ponownie named (ndc restart) i sprawd╝ swoj▒ pracΩ znowu
- korzystaj▒c z nslookup:
-
-
- ______________________________________________________________________
- > 192.168.196.4
- Server: localhost
- Address: 127.0.0.1
-
- Name: mail.linux.bogus
- Address: 192.168.196.4
- ______________________________________________________________________
-
-
- Wygl▒da w porz▒dku, spr≤buj wy╢wietliµ wszystko, ┐eby to sprawdziµ:
-
-
- ______________________________________________________________________
- > ls -d 196.168.192.in-addr.arpa
- [localhost]
- $ORIGIN 196.168.192.in-addr.arpa.
- @ 1D IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
- 199802151 ; serial
- 8H ; refresh
- 2H ; retry
- 1W ; expiry
- 1D ) ; minimum
-
- 1D IN NS ns.linux.bogus.
- 1 1D IN PTR gw.linux.bogus.
- 2 1D IN PTR ns.linux.bogus.
- 3 1D IN PTR donald.linux.bogus.
- 4 1D IN PTR mail.linux.bogus.
- 5 1D IN PTR donald.linux.bogus.
- @ 1D IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
- 199802151 ; numer seryjny
- 8H ; od╢wie┐anie
- 2H ; powtarzanie
- 1W ; przedawnienie
- 1D ) ; minimum
- ______________________________________________________________________
-
-
-
- Wygl▒da dobrze!
-
- Jest kilka rzeczy, kt≤re powinienem tu dodaµ. Numery IP u┐ywane w
- przyk│adach pochodz▒ z jednego z blok≤w ,,sieci prywatnych'', tzn. nie
- wolno u┐ywaµ ich publicznie w internecie. S▒ bezpieczne do pokazania
- jako przyk│ad w HOWTO. Druga rzecz, to linia notify no;. M≤wi named,
- ┐eby nie zawiadamiaµ serwera drugorzΩdnego (secondary, slave), kiedy
- jeden z plik≤w stref zostanie uaktualniony. W bind'dzie-8 named mo┐e
- zawiadamiaµ inne serwery wymienione w rekordach NS w pliku strefy,
- kiedy strefa zostanie uaktualniona. Jest to przydatne do u┐ytku
- zwyk│ego, ale dla prywatnych eksperyment≤w ze strefami ta opcja
- powinna byµ wy│▒czona, nie chcemy przecie┐ chyba, ┐eby nasz
- eksperyment za╢mieca│ Internet, czy┐ nie tak?
-
- No i oczywi╢cie ta domena jest nieprawdziwa (bogus) i takie te┐ s▒
- wszystkie adresy w niej. Zobacz nastΩpny rozdzia│ dla przyk│adu z
- prawdziw▒ domen▒.
-
-
- 5. Prawdziwa domena
-
-
- Tutaj opisujemy trochΩ prawdziwych plik≤w stref.
-
- U┐ytkownicy zasugerowali, ┐ebym za│▒czy│ prawdziwy przyk│ad
- dzia│aj▒cej domeny razem z teoretycznym przyk│adem.
-
- U┐ywam tego przyk│adu z zezwoleniem Davida Bullock'a z LAND-5. Te
- pliki by│y aktualne 24 Wrze╢nia 1996 i zosta│y zmienione przeze mnie,
- ┐eby pasowa│y do formatu bind-8, u┐ywaj▒ te┐ moich rozszerze±. A
- wiΩc, to co tu widzisz r≤┐ni siΩ trochΩ od tego, co otrzymasz po
- wys│aniu zapytania do serwer≤w nazw LAND-5 obecnie.
-
-
-
-
- 5.1. /etc/named.conf (lub /var/named/named.conf)
-
-
- Tutaj znajdziemy linie g│≤wne dla dw≤ch potrzebnych stref odwrotnych:
- sieci 127.0.0, jak i sieci 206.6.177 nale┐▒cej do LAND-5, oraz liniΩ
- primary dla przedniej strefy land-5.com. Zauwa┐ tak┐e, ┐e zamiast
- umieszczaµ pliki w katalogu o nazwie pz, jak robiΩ to w tym HOWTO,
- znajduj▒ siΩ one w katalogu zone (strefa).
-
-
- ______________________________________________________________________
- // Plik │aduj▒cy dla serwera nazw LAND-5
-
- options {
- directory "/var/named";
- };
-
- zone "." {
- type hint;
- file "root.hints";
- };
-
- zone "0.0.127.in-addr.arpa" {
- type master;
- file "zone/127.0.0";
- };
-
- zone "land-5.com" {
- type master;
- file "zone/land-5.com";
- };
-
- zone "177.6.206.in-addr.arpa" {
- type master;
- file "zone/206.6.177";
- };
- ______________________________________________________________________
-
-
-
- Je┐eli wstawisz to do swojego named.conf, ┐eby siΩ pobawiµ, PROSZ╩,
- wstaw notify no; w sekcji stref dla dw≤ch stref land-5, ┐eby unikn▒µ
- wypadk≤w.
-
-
-
-
- 5.2. /var/named/root.hints
-
-
- PamiΩtaj, ┐e ten plik zmienia siΩ, a ten jest stary. Powiniene╢ u┐ywaµ
- nowszego pliku wyprodukowanego u┐ywaj▒c dig, bΩdzie to wyt│umaczone
- p≤╝niej. (UWAGA: autor napisa│, ┐e by│o to wyt│umaczone wcze╢niej,
- ale jest to wyt│umaczone P╙¼NIEJ - przyp. t│um.)
-
-
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- ; <<>> DiG 8.1 <<>> @A.ROOT-SERVERS.NET.
- ; (1 server found)
- ;; res options: init recurs defnam dnsrch
- ;; got answer:
- ;; ->>HEADER<<- opCODE: QUERY, status: NOERROR, id: 10
- ;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
- ;; QUERY SECTION:
- ;; ., type = NS, class = IN
-
- ;; ANSWER SECTION:
- . 6D IN NS G.ROOT-SERVERS.NET.
- . 6D IN NS J.ROOT-SERVERS.NET.
- . 6D IN NS K.ROOT-SERVERS.NET.
- . 6D IN NS L.ROOT-SERVERS.NET.
- . 6D IN NS M.ROOT-SERVERS.NET.
- . 6D IN NS A.ROOT-SERVERS.NET.
- . 6D IN NS H.ROOT-SERVERS.NET.
- . 6D IN NS B.ROOT-SERVERS.NET.
- . 6D IN NS C.ROOT-SERVERS.NET.
- . 6D IN NS D.ROOT-SERVERS.NET.
- . 6D IN NS E.ROOT-SERVERS.NET.
- . 6D IN NS I.ROOT-SERVERS.NET.
- . 6D IN NS F.ROOT-SERVERS.NET.
-
- ;; ADDITIONAL SECTION:
- G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4
- J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10
- K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129
- L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12
- M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33
- A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4
- H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53
- B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107
- C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12
- D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90
- E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10
- I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17
- F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241
-
- ;; Total query time: 215 msec
- ;; FROM: roke.uio.no to SERVER: A.ROOT-SERVERS.NET. 198.41.0.4
- ;; WHEN: Sun Feb 15 01:22:51 1998
- ;; MSG SIZE sent: 17 rcvd: 436
- ______________________________________________________________________
-
-
-
-
-
-
- 5.3. /var/named/zone/127.0.0
-
-
- Tylko podstawy, obowi▒zuj▒cy rekord SOA i rekord, kt≤ry mapuje
- 127.0.0.1 na localhost. Oba s▒ wymagane. Nic wiΩcej nie powinno
- znajdowaµ siΩ w tym pliku. Prawdopodobnie nigdy nie bΩdzie musia│ byµ
- uaktualniany, chyba ┐e tw≤j serwer nazw lub hostmaster zmieni▒ adres.
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- @ IN SOA land-5.com. root.land-5.com. (
- 199609203 ; Serial
- 28800 ; Refresh
- 7200 ; Retry
- 604800 ; Expire
- 86400) ; Minimum TTL
- NS land-5.com.
-
- 1 PTR localhost.
- ______________________________________________________________________
-
-
-
-
-
-
- 5.4. /var/named/zone/land-5.com
-
-
- Widzimy tu obowi▒zuj▒cy rekord SOA i potrzebne rekordy NS. Mo┐emy
- zobaczyµ, ┐e drugorzΩdny serwer nazw ma adres ns2.psi.net. Jest tak,
- jak powinno byµ, zawsze musi byµ drugorzΩdny serwer w innym miejscu
- Internetu. Jest tu komputer g│≤wny o nazwie land-5, kt≤ry zajmuje siΩ
- wieloma r≤┐nymi us│ugami Internetowymi, jest to za│atwione za pomoc▒
- rekord≤w CNAME (alternatywnie mo┐na u┐ywaµ rekord≤w A).
-
- Jak widzidsz z rekordu SOA, plik strefy pochodzi z land-5.com, osob▒
- kontaktow▒ jest root@land-5.com. hostmaster jest innym czΩsto u┐ywanym
- adresem. Numer seryjny sk│ada siΩ z daty w formacie yyyymmdd i
- dziennego numeru seryjnego; jest to prawdopodobnie sz≤sta wersja pliku
- strefy z 20 Wrze╢nia 1996. PamiΩtaj, ┐e numer seryjny musi zwiΩkszaµ
- siΩ monotonicznie, tutaj jest tylko jedna cyfra numeru seryjnego, wiΩc
- po 9 zmianach trzeba czekaµ do nastΩpnego dnia z nastΩpnymi edycjami.
- Rozwa┐ u┐ycie dw≤ch cyfr.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- @ IN SOA land-5.com. root.land-5.com. (
- 199609206 ; serial, todays date + todays serial #
- 8H ; refresh, seconds
- 2H ; retry, seconds
- 1W ; expire, seconds
- 1D ) ; minimum, seconds
- NS land-5.com.
- NS ns2.psi.net.
- MX 10 land-5.com. ; Primary Mail Exchanger
-
- localhost A 127.0.0.1
-
- router A 206.6.177.1
-
- land-5.com. A 206.6.177.2
- ns A 206.6.177.3
- www A 207.159.141.192
-
- ftp CNAME land-5.com.
- mail CNAME land-5.com.
- news CNAME land-5.com.
-
- funn A 206.6.177.2
- @ TXT "LAND-5 Corporation"
-
- ;
- ; Workstations
- ;
- ws-177200 A 206.6.177.200
- MX 10 land-5.com. ; Primary Mail Host
- ws-177201 A 206.6.177.201
- MX 10 land-5.com. ; Primary Mail Host
- ws-177202 A 206.6.177.202
- MX 10 land-5.com. ; Primary Mail Host
- ws-177203 A 206.6.177.203
- MX 10 land-5.com. ; Primary Mail Host
- ws-177204 A 206.6.177.204
- MX 10 land-5.com. ; Primary Mail Host
- ws-177205 A 206.6.177.205
- MX 10 land-5.com. ; Primary Mail Host
- ; {Many repetitive definitions deleted - SNIP}
- ws-177250 A 206.6.177.250
- MX 10 land-5.com. ; Primary Mail Host
- ws-177251 A 206.6.177.251
- MX 10 land-5.com. ; Primary Mail Host
- ws-177252 A 206.6.177.252
- MX 10 land-5.com. ; Primary Mail Host
- ws-177253 A 206.6.177.253
- MX 10 land-5.com. ; Primary Mail Host
- ws-177254 A 206.6.177.254
- MX 10 land-5.com. ; Primary Mail Host
- ______________________________________________________________________
-
-
-
- Je┐eli sprawdzisz serwer nazw land-5, zobaczysz, ┐e nazwy komputer≤w
- sk│adaj▒ siΩ z ws_numer. P≤╝ne wersje named'a w bind'dzie 4 zaczΩ│y
- wymagaµ ogranicze± znak≤w sk│adaj▒cych siΩ na nazwy komputer≤w. A
- wiΩc wog≤le nie dzia│a│oby to z bind-8, zamieni│em ,,_'' na ,,-''.
-
- Inna rzecz warta zauwa┐enia to fakt, ┐e stacje robocze nie maj▒
- w│asnych nazw, a raczej prefiks i dwie ostatnie czΩ╢ci numeru IP.
- U┐ywanie takiej konwencji mo┐e znacznie upro╢ciµ nadz≤r, ale jest
- trochΩ bezosobowe i mo┐e byµ ╝r≤d│em niezadowolenia w╢r≤d twoich
- u┐ytkownik≤w.
- Mo┐emy tak┐e zobaczyµ, ┐e funn.land-5.com jest aliasem land-5.com, ale
- u┐ywaj▒cym rekordu A, a nie CNAME.
-
-
-
-
- 5.5. /var/named/zone/206.6.177
-
-
- SkomentujΩ ten plik na jego ko±cu.
-
-
- ______________________________________________________________________
- @ IN SOA land-5.com. root.land-5.com. (
- 199609206 ; Serial
- 28800 ; Refresh
- 7200 ; Retry
- 604800 ; Expire
- 86400) ; Minimum TTL
- NS land-5.com.
- NS ns2.psi.net.
- ;
- ; Servers
- ;
- 1 PTR router.land-5.com.
- 2 PTR land-5.com.
- 2 PTR funn.land-5.com.
- ;
- ; Workstations
- ;
- 200 PTR ws-177200.land-5.com.
- 201 PTR ws-177201.land-5.com.
- 202 PTR ws-177202.land-5.com.
- 203 PTR ws-177203.land-5.com.
- 204 PTR ws-177204.land-5.com.
- 205 PTR ws-177205.land-5.com.
- ; {Du┐o powtarzaj▒cych siΩ rekord≤w - usuniΩto}
- 250 PTR ws-177250.land-5.com.
- 251 PTR ws-177251.land-5.com.
- 252 PTR ws-177252.land-5.com.
- 253 PTR ws-177253.land-5.com.
- 254 PTR ws-177254.land-5.com.
- ______________________________________________________________________
-
-
-
- Strefa odwrotna jest kawa│kiem ustawie± wydaj▒cym siΩ sprawiaµ
- najwiΩcej k│opot≤w. Jest u┐ywany do znalezienia nazwy komputera,
- je┐eli masz jego numer IP. Przyk│ad: jeste╢ serwerem IRC i akceptujesz
- po│▒czenia od klient≤w IRC. Jednak┐e jeste╢ serwerem norweskim, a
- wiΩc chcesz akceptowaµ po│▒czenia tylko z Norwegii i innych kraj≤w
- skandynawskich. Kiedy otrzymasz po│▒czenie od klienta, biblioteka C
- jest w stanie przekazaµ ci numer IP │▒cz▒cej siΩ maszyny, poniewa┐
- numer IP klienta jest zawarty we wszystkich pakietach przekazywanych
- przez sieµ. Teraz mo┐esz przywo│aµ funkcjΩ o nazwie gethostbyaddr,
- kt≤ra szuka nazwy komputera z podanym numerem IP. Gethostbyaddr spyta
- serwer DNS, kt≤ry wtedy przetrawersuje DNS, poszukuj▒c maszyny.
- Przyjmijmy, ┐e po│▒czenie nadesz│o z ws-177200.land-5.com. Numer IP
- podany przez bibliotekΩ C serwerowi IRC to 206.6.177.200. »eby poznaµ
- nazwΩ tej maszyny, musimy znale╝µ 200.177.6.206.in-addr.arpa. Serwer
- DNS najpierw odwr≤ci ╢cie┐kΩ przez 206, potem przez 6, a┐ w ko±cu
- znajdzie serwer dla strefy 177.6.206.in-addr.arpa na land-5, z kt≤rego
- na ko±cu dostanie odpowied╝, ┐e dla 200.177.6.206.in-addr.arpa mamy
- rekord ,,PTR ws-177200.land-5.com'', kt≤ry znaczy, ┐e nazwa
- 206.6.177.20 to ws-177200.land-5.com. Tak jak z wyja╢nieniem, jak
- zostaje znaleziony prep.ai.mit.edu, jest to trochΩ fikcyjne.
- Wracaj▒c do przyk│adu serwera IRC. Serwer IRC akceptuje po│▒czenia
- tylko z kraj≤w skandynawskich, tj. *.no, *.se, *.dk. Od razu widaµ, ┐e
- nazwa ws-177200.land-5.com nie pasuje do ┐adnego z nich, a wiΩc serwer
- odm≤wi po│▒czenia. Je┐eli nie by│o mapowania odwrotnego dla
- 206.6.177.200 przez strefΩ in-addr.arpa, serwer nie m≤g│by znale╝µ
- nazwy i por≤wna│by 206.6.177.200 z *.no, *.se i *.dk, oczywi╢cie ┐adna
- z nich nie bΩdzie pasowa│a.
-
- Niekt≤rzy ludzie bΩd▒ m≤wili ci, ┐e odwrotne mapowanie jest wa┐ne
- tylko dla serwer≤w, albo wog≤le nie wa┐ne. Nie zawsze: wiele serwer≤w
- ftp, news, IRC i nawet niekt≤re http (WWW) nie bΩd▒ akceptowa│y
- po│▒cze± z maszyn, kt≤rych nazw nie bΩd▒ w stanie znale╝µ. A wiΩc
- mapowanie odwrotne jest obowi▒zkowe.
-
-
- 6. Nadz≤r
-
-
- Utrzymywanie w ci▒g│ym dzia│aniu
-
- Jest jedno zadanie nadzorcze, kt≤re musisz wykonywaµ z named'ami, inne
- ni┐ utrzymywanie ich w dzia│aniu, tzn. uaktualnianie pliku root.hints.
- Naj│atwiej jest to zrobiµ u┐ywaj▒c dig'a. Najpierw uruchom dig bez
- ┐adnych argument≤w, otrzymasz zawarto╢µ pliku root.hints zgodnie ze
- swoim w│asnym serwerem. Wtedy spytaj jeden z wymienionych serwer≤w
- g│≤wnych komend▒ dig @rootserver. Zauwa┐ysz, ┐e to co otrzymasz bΩdzie
- bardzo podobne do pliku root.hints. Zapisz to do pliku (dig @e.root-
- servers.net . ns >root.hints.new) i zamie± na niego stary plik
- root.hints.
-
- PamiΩtaj, ┐eby uruchomiµ ponownie named po zamianie pliku cache.
-
- Al Longyear wys│a│ mi ten skrypt. Mo┐e on byµ uruchamiany
- automatycznie w celu uaktualniania root.hints. Dodaj wpis do tablicy
- cron'a, ┐eby by│ uruchamiany raz na miesi▒c. Ten skrypt przyjmuje, ┐e
- masz dzia│aj▒cy system pocztowy i zdefniowany alias pocztowy
- ,,hostmaster''. Musisz zag│Ωbiµ siΩ w ten plik, ┐eby dostosowaµ go do
- twoich ustawie±.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- #!/bin/sh
- #
- # Uaktualnianie pliku cache raz na miesi▒c.
- # Ten skrypt jest uruchamiany automatycznie przez cron'a.
- #
- (
- echo "To: hostmaster <hostmaster>"
- echo "From: system <root>"
- echo "Subject: Automatyczne uaktualnienie pliku named.conf"
- echo
-
- export PATH=/sbin:/usr/sbin:/bin:/usr/bin:
- cd /var/named
-
- dig @rs.internic.net . ns >root.hints.new
-
- echo "Plik named.conf zosta│ uaktualniony i zawiera nastΩpuj▒ce informacje:"
- echo
- cat root.hints.new
-
- chown root.root root.hints.new
- chmod 444 root.hints.new
- rm -f root.hints.old
- mv root.hints root.hints.old
- mv root.hints.new root.hints
- ndc restart
- echo
- echo "Serwer nazw zosta│ uruchomiony ponownie, aby wprowadziµ zmiany"
- echo "Poprzedni plik nazywa siΩ teraz /var/named/root.hints.old."
- ) 2>&1 | /usr/lib/sendmail -t
- exit 0
- ______________________________________________________________________
-
-
-
- Niekt≤rzy z was mogli zauwa┐yµ, ┐e plik root.hints jest te┐ dostΩpny
- przez ftp z Internic'u. ProszΩ, nie u┐ywaj ftp do uaktualniania
- root.hints, powy┐sza metoda jest o wiele bardziej przyjazna dla sieci.
-
-
- 7. Przej╢cie z wersji 4 na wersjΩ 8
-
-
- Poprzednio by│a to sekcja o u┐ywaniu bind'a 8 napisana przez David'a
- E. Smith'a (dave@bureau42.ml.org). TrochΩ j▒ zmieni│em, ┐eby pasowa│a
- do nowej nazwy sekcji.
-
- Nie ma tego wiele. Poza u┐ywaniem named.conf zamiast named.boot,
- wszystko jest identyczne. Bind-8 jest dostarczany ze skryptem
- konwertuj▒cym pliki w ,,starym stylu'' na nowe. Przyk│adowy named.conf
- (stary) dla serwera cache:
-
-
- ______________________________________________________________________
- directory /var/named
- cache . root.hints
- primary 0.0.127.IN-ADDR.ARPA 127.0.0.zone
- primary localhost localhost.zone
- ______________________________________________________________________
-
-
-
- W linii komend, w katalogu bind8/src/bin/named (PrzyjmujΩ, ┐e masz
- dystrybucjΩ ╝r≤d│ow▒. Je┐eli masz paczkΩ z binariami skrypt te┐ gdzie╢
- musi byµ, jednak┐e nie jestem pewien gdzie. -ed.), napisz:
- ______________________________________________________________________
- ./named-bootconf.pl < named.conf > named.conf
- ______________________________________________________________________
-
-
-
- Co stworzy named.conf:
-
-
- ______________________________________________________________________
- // generated by named-bootconf.pl
-
- options {
- directory "/var/named";
- };
-
- zone "." {
- type hint;
- file "root.hints";
- };
-
- zone "0.0.127.IN-ADDR.ARPA" {
- type master;
- file "127.0.0.zone";
- };
-
- zone "localhost" {
- type master;
- file "localhost.zone";
- };
- ______________________________________________________________________
-
-
-
- Metoda ta konwertuje wszystko, co mo┐na wpisaµ do named.conf, jednak┐e
- nie dodaje ┐adnych nowych rozszerze± i opcji konfiguracji, kt≤re mo┐na
- uzyskaµ w bind-8. Oto bardziej kompletny named.conf, kt≤ry robi te
- same rzeczy, ale trochΩ bardziej sprawnie.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- // To jest plik konfiguracyjny named (bind-8 lub p≤╝niejszy)
- // Powinien byµ zainstalowany jako /etc/named.conf.
- // Jedyna zmiana pliku ,,fabrycznego'' (poza tym komentarzem :))
- // to odkomentowanie linii directory, poniewa┐ mam ju┐ pliki stref
- // w /var/named.
-
- options {
- directory "/var/named";
- check-names master warn; /* domy╢lne. */
- datasize 20M;
- };
-
- zone "localhost" IN {
- type master;
- file "localhost.zone";
- check-names fail;
- allow-update { none; };
- allow-transfer { any; };
- };
-
- zone "0.0.127.in-addr.arpa" IN {
- type master;
- file "127.0.0.zone";
- check-names fail;
- allow-update { none; };
- allow-transfer { any; };
- };
-
- zone "." IN {
- type hint;
- file "root.hints";
- };
- ______________________________________________________________________
-
-
-
- bind8/src/bin/named/test ma ten plik oraz kopie plik≤w stref, kt≤re
- wiele ludzi mo┐e skopiowaµ i od razu u┐ywaµ.
-
- Formaty plik≤w stref i root.hints s▒ identyczne, tak jak komendy ich
- uaktualniania.
-
-
- 8. FAQ
-
-
- W tej sekcji wymieniΩ kilka spo╢r≤d najczΩ╢ciej zadawanych pyta±
- zwi▒zanych z DNS'em i tym HOWTO, oraz odpowiedzi na nie. :-)
- Przeczytaj t▒ sekcjΩ przed wys│aniem do mnie listu.
-
-
- 1. M≤j named ┐▒da pliku named.boot.
-
-
- Czytasz z│e HOWTO. Przeczytaj star▒ wersjΩ tego dokumentu, kt≤ra
- opisuje bind 4, na http://www.math.uio.no/~janl/DNS/.
-
-
-
-
- 2. Jak u┐ywaµ DNS zza ╢ciany ognia (firewall)?
-
-
- Kilka podpowiedzi: ,,forwarders'', ,,slave'' oraz spojrzenie na
- listΩ literatury na ko±cu tego HOWTO.
- 3. Jak sprawiµ, ┐eby DNS prze│▒cza│ siΩ miΩdzy adresami us│ugi, np.
- www.zajΩty.serwer, ┐eby uzyskaµ efekt wyr≤wnania obci▒┐enia, lub
- podobny?
-
-
- Utw≤rz kilka rekord≤w A dla www.zajΩty.serwer i u┐yj bind'a 4.9.3
- lub p≤╝niejszego. Wtedy bind bΩdzie pokolei prze│▒cza│ adresy. Nie
- bΩdzie to dzia│aµ z wcze╢niejszymi wersjami bind'a.
-
-
-
-
- 4. ChcΩ ustawiµ DNS w (zamkniΩtym) intranecie. Co mam zrobiµ?
-
-
- Nie zak│adaj pliku root.hints, tylko pliki stref. To znaczy tak┐e,
- ┐e nie bΩdziesz musia│ uaktualniaµ tego pliku.
-
-
-
-
- 5. Jak ustawiµ drugorzΩdny (secondary, slave...) serwer DNS?
-
-
- Je┐eli podstawowy (primary) serwer ma adres 127.0.0.1 wstaw
- nastΩpuj▒c▒ liniΩ w named.conf drugorzΩdnego serwera:
-
-
- ___________________________________________________________________
- zone "linux.bogus" {
- type slave;
- file "sz/linux.bogus";
- masters { 127.0.0.1; };
- };
-
- ___________________________________________________________________
-
-
-
- Mo┐esz wymieniµ kilka alternatywnych serwer≤w g│≤wnych, z kt≤rych
- strefa mo┐e byµ kopiowana w li╢cie masters, oddzielone przez ,,;''.
-
-
-
-
- 6. ChcΩ, ┐eby bind dzia│a│ nawet wtedy, kiedy jestem od│▒czony od
- sieci.
-
-
- Otrzyma│em taki list od Ian'a Clark'a <ic@deakin.edu.au>, gdzie
- wyja╢nia on jego spos≤b dokonania tego:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Uruchamiam named na mojej ,,maskuj▒cej siΩ'' maszynie. Mam dwa pliki
- root.hints, jeden nazywa siΩ root.hints.real i zawiera prawdziwe nazwy serwer≤w
- nazw g│≤wnych, oraz drugi, root.hints.fake, kt≤ry zawiera...
-
- ----
- ; root.hints.fake
- ; ten plik nie zawiera ┐adnych informacji
- ----
-
- Kiedy roz│▒czam siΩ, kopiujΩ root.hints.fake do root.hints i uruchamiam
- named ponownie.
-
- Kiedy │▒czΩ siΩ, kopiujΩ root.hints.real do root.hints i restartujΩ named.
-
- To jest wykonywane odpowiednio przez ip-down i ip-up.
-
- Pierwszy raz, kiedy przeprowadzam zapytanie off-line o nazwΩ domeny, named
- nie ma szczeg≤│≤w, a wiΩc wstawia taki komunikat w pliku messgaes:
-
- Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN
-
- z czym mo┐na ┐yµ.
-
- U mnie to dzia│a. MogΩ u┐ywaµ serwera nazw dla maszyn lokalnych bez op≤╝nienia,
- jak w przypadku zewnΩtrznych nazw domen, a kiedy jestem w sieci, zapytania
- o zewnΩtrzne domeny funkcjonuj▒ normalnie.
-
-
-
-
-
-
-
- 7. Gdzie serwer przyspieszaj▒cy zapisuje swoj▒ pamiΩµ podrΩczn▒? W
- jaki spos≤b mo┐na j▒ kontrolowaµ?
-
-
- PamiΩµ podrΩczna jest zapamiΩtywana ca│kowicie w pamiΩci, nie jest
- zapisywana na dysk. Za ka┐dym razem kiedy zabijesz named cache
- bΩdzie stracony. Cache nie daje siΩ w ┐aden spos≤b kontrolowaµ.
- Named zarz▒dza nim zgodnie z pewnymi prostymi zasadami i nie da siΩ
- tego omin▒µ. Nie mo┐esz kontrolowaµ cache'u ani jego rozmiaru w
- ┐aden spos≤b i z ┐adnego powodu. Je┐eli chcesz, mo┐esz ,,naprawiµ''
- to zmieniaj▒c kod named. Jednak┐e nie jest to zalecane.
-
-
-
-
- 8. Czy named zapisuje cache po zako±czeniu dzia│ania? Czy mogΩ go
- jako╢ do tego zmusiµ?
-
-
- Nie, named nie zapisuje pamiΩci podrΩcznej kiedy umiera. Znaczy to,
- ┐e cache musi byµ zbudowany od nowa za ka┐dym razem, kiedy zabijasz
- i uruchamiasz named ponownie. Nie ma sposobu, ┐eby zmusiµ go do
- zapisywania cache'u w pliku. Je┐eli chcesz, mo┐esz to ,,naprawiµ''
- zmieniaj▒c kod named. Nie jest to jednak zalecane.
-
-
-
- 9. Jak zostaµ pe│noetatowym administratorem DNS
-
-
- Dokumentacja i narzΩdzia
-
-
- Prawdziwa Dokumentacja istnieje. Online i drukowana. Przeczytanie
- kilku z tych publikacji jest wymagane, ┐eby zrobiµ krok od
- ma│oetatowego do pe│noetatowego administratora DNS. W druku,
- standardow▒ ksi▒┐k▒ jest DNS i BIND, autorstwa C. Liu i P. Albitz'a,
- wydawnictwa O'Reilly & Associates, Sebastopol, CA, ISBN 0-937175-82-X.
- Czyta│em j▒, jest ╢wietna. Jest te┐ sekcja o DNS w ksi▒┐ce TCP/IP -
- Administracja sieci, autorstwa Craig'a Hunt'a z wydawnictwa
- O'Reilly..., ISBN 0-937175-82-X. Inna ksi▒┐ka koniecznie do
- przeczytania przez dobrego admina DNS (lub kogokowiek dobrego z tej
- bran┐y) jest Zen i Sztuka Naprawy Motocykli Roberta M. Prisiga, :-)
- dostΩpne pod ISBN 0688052304 i inne.
-
- Online znajdziesz r≤┐ne rzeczy na http://www.dns.net/dnsrd/,
- http://www.isc.org/bind.html; FAQ, podrΩcznik (BOG - Bind Operators
- Guide), specyfikacje i definicje protoko│≤w, oraz sztuczki DNS (te, i
- wiele, je┐eli nie wszystkie RFC wspomniane poni┐ej, tak┐e znajduj▒ siΩ
- w dystrybucji bind'a). Nie czyta│em wiΩkszo╢ci z nich, ale przez to
- nie jestem pe│noetatowym administratorem DNS. Natomiast Arnt
- Gulbrandsen przeczyta│ BOG i bardzo mu siΩ on spodoba│ :-). Jest te┐
- grupa news news://comp.protocols.tcp-ip.domains o DNS. Dodatkowo, jest
- te┐ trochΩ RFC o DNS'ie, najwa┐niejsze s▒ prawdopodobnie te:
-
-
-
- RFC 2052
- A. Gulbrandsen, P. Vixie, A DNS RR for specifying the location
- of services (DNS SRV), October 1996
-
-
- RFC 1918
- Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear,
- Address Allocation for Private Internets, 02/29/1996.
-
-
- RFC 1912
- D. Barr, Common DNS Operational and Configuration Errors,
- 02/28/1996.
-
-
- RFC 1912 Errors
- B. Barr Errors in RFC 1912, jest on dostΩpny na
- <http://www.cis.ohio-state.edu/~barr/rfc1912-errors.html>
-
-
- RFC 1713
- A. Romao, Tools for DNS debugging, 11/03/1994.
-
-
- RFC 1712
- C. Farrell, M. Schulze, S. Pleitner, D. Baldoni, DNS Encoding of
- Geographical Location, 11/01/1994.
-
-
- RFC 1183
- R. Ullmann, P. Mockapetris, L. Mamakos, C. Everhart, New DNS RR
- Definitions, 10/08/1990.
-
-
- RFC 1035
- P. Mockapetris, Domain names - implementation and specification,
- 11/01/1987.
-
-
- RFC 1034
- P. Mockapetris, Domain names - concepts and facilities,
- 11/01/1987.
- RFC 1033
- M. Lottor, Domain administrators operations guide, 11/01/1987.
-
-
- RFC 1032
- M. Stahl, Domain administrators guide, 11/01/1987.
-
-
- RFC 974
- C. Partridge, Mail routing and the domain system, 01/01/1986.
-
-
-
- 10. Od t│umacza
-
-
- To jest druga wersja DNS-HOWTO. Pierwsza wersja, dotycz▒ca bind'a 4
- zosta│a przet│umaczona przez Piotra Pogorzelskiego
- <piotr.pogorzelski@ippt.gov.pl>. Prawa autorskie t│umaczenia pierwszej
- wersji nale┐▒ w│a╢nie do niego, a poniewa┐ ja przet│umaczy│em drug▒
- wersjΩ od pocz▒tku, prawa autorskie t│umaczenia drugiej wersji nale┐▒
- do mnie. Wersja 2.1 jest znacznie poprawiona w stosunku do 2.0. Jak
- zwykle, je┐eli znajdziesz jakie╢ b│edy, daj mi znaµ.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-